package com.chinacoal.hr.levelimpl.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 请假单
 */
@Data
@TableName(value = "xip_hr_leave")
public class LeaveRecord {
    // 主键id
    @TableId(type = IdType.UUID)
    public String leaveId;

    // 单据编码
    @TableField(fill = FieldFill.INSERT)
    public String leaveCode;
    // 单据模板编码
    @TableField(fill = FieldFill.INSERT)
    public String xlsCode;
    // 申请单类型id
    @TableField(fill = FieldFill.INSERT)
    public String docTypeId;
    // 组织id
    public String ouId;
    public String orgCode;
    public String orgName;
    // 申请部门id;
    public String deptId;
    public String deptCode;
    public String deptName;
    // 岗位id;
    public String postId;
    public String empId;
    public String empCode;
    public String empName;
    // 工龄;
    public Integer workYear;
    // 假期类别;
    public String holidayType;
    // 开始日期;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date startDate;

    // 结束日期;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date endDate;
    // 请假天数;
    public Double days;
    // 销假日期;
    public Date actualEndDate;
    // 去向;
    public String position;
    // 联系电话;
    public String telephone;
    // 紧急联系人 ;
    public String contact;
    // 紧急联系人电话;
    public String contactPhone;
    // 是否离京：y是，n否;
    public String isLeaveBj;
    // 离京日期;
    public Date leaveTime;
    // 回京日期;
    public Date backTime;
    // 请假事由;
    public String leaveDesc;
    // 流程实例编码;
    public String insCode;
    // 审批状态;
    public String businessStatus;
    // 创建日期;
    public Date creationDate;
    // 请假人用户id;
    public String createdBy;
    // 最后更新日期;
    public Date lastUpdateDate;
    // 最后更新人;
    public String lastUpdatedBy;
    // 请假人用户名;
    public String createdByName;
    // 开始时段：1上午，2下午;
    public String startTimeType;
    // 结束时段：1上午，2下午;
    public String endTimeType;

    // 对应要修改的文件业务id，在保存时候需要把此id换成本业务的主键id
    @TableField(exist = false)
    public String fileParamPaDocId;

    // workitemid
    @TableField(exist = false)
    public String taskId;

    @TableField(exist = false)
    public String nextUser;

    @TableField(exist = false)
    public String instanceCurrentState;
}
